package mains.entrega3;

import java.util.HashSet;
import java.util.Set;

import persi.casosDeUso.CasoDeUso;
import persi.enums.Posicion;
import persi.futbol.Equipo;
import persi.futbol.Tecnico;
import persi.futbol.habilidad.HabilidadImpl;
import persi.futbol.jugador.Jugador;
import persi.hibernate.Home;

public class CargaDatos {
	public static void main(final String[] args) {
		new CasoDeUso() {

			@Override
			public void casoDeUso() {
				
				final Jugador jugador1 = new Jugador("lGassman");
				jugador1.agregarHabilidad(new HabilidadImpl(Posicion.Enganche,
						10));
				jugador1.agregarHabilidad(new HabilidadImpl(Posicion.Delantero,
						8));
				jugador1.agregarHabilidad(new HabilidadImpl(Posicion.Arquero, 3));

				final Jugador jugador2 = new Jugador("leonardo");
				jugador2.agregarHabilidad(new HabilidadImpl(Posicion.Enganche,
						8));
				jugador2.agregarHabilidad(new HabilidadImpl(Posicion.Delantero,
						8));

				final Jugador jugador3 = new Jugador("alexis");
				jugador3.agregarHabilidad(new HabilidadImpl(Posicion.Lateral, 7));
				jugador3.agregarHabilidad(new HabilidadImpl(Posicion.Central, 7));

				final Jugador jugador4 = new Jugador("alan");
				jugador4.agregarHabilidad(new HabilidadImpl(
						Posicion.MediaPunta, 7));
				jugador4.agregarHabilidad(new HabilidadImpl(Posicion.Delantero,
						8));

				final Jugador jugador5 = new Jugador("nahuel");
				jugador5.agregarHabilidad(new HabilidadImpl(
						Posicion.VolanteLateral, 6));
				jugador5.agregarHabilidad(new HabilidadImpl(
						Posicion.VolanteDefensivo, 5));

				final Jugador jugador6 = new Jugador("leandro");
				jugador6.agregarHabilidad(new HabilidadImpl(Posicion.Central, 5));
				jugador6.agregarHabilidad(new HabilidadImpl(Posicion.Arquero, 8));

				
				
				final Jugador jugador7 = new Jugador("jugador7");
				jugador7.agregarHabilidad(new HabilidadImpl(Posicion.Enganche,
						10));
				jugador7.agregarHabilidad(new HabilidadImpl(Posicion.Delantero,
						8));
				jugador7.agregarHabilidad(new HabilidadImpl(Posicion.Arquero, 3));

				final Jugador jugador8 = new Jugador("jugador8");
				jugador8.agregarHabilidad(new HabilidadImpl(Posicion.Enganche,
						8));
				jugador8.agregarHabilidad(new HabilidadImpl(Posicion.Delantero,
						8));

				final Jugador jugador9 = new Jugador("jugador9");
				jugador9.agregarHabilidad(new HabilidadImpl(Posicion.Lateral, 7));
				jugador9.agregarHabilidad(new HabilidadImpl(Posicion.Central, 7));

				final Jugador jugador10 = new Jugador("jugador10");
				jugador10.agregarHabilidad(new HabilidadImpl(
						Posicion.MediaPunta, 7));
				jugador10.agregarHabilidad(new HabilidadImpl(Posicion.Delantero,
						8));

				final Jugador jugador11 = new Jugador("jugador11");
				jugador11.agregarHabilidad(new HabilidadImpl(
						Posicion.VolanteLateral, 6));
				jugador11.agregarHabilidad(new HabilidadImpl(
						Posicion.VolanteDefensivo, 5));

				final Jugador jugador12 = new Jugador("jugador12");
				jugador12.agregarHabilidad(new HabilidadImpl(Posicion.Central, 5));
				jugador12.agregarHabilidad(new HabilidadImpl(Posicion.Arquero, 8));
				
				
				final Tecnico tecnico1 = Tecnico.crearTecnicoStandard();
				tecnico1.setNombre("Fidel");
				
				final Tecnico tecnico2 = Tecnico.crearTecnicoStandard();
				tecnico2.setNombre("Pablo");

				final Set<Jugador> jugadores1 = new HashSet<Jugador>();
				jugadores1.add(jugador1);
				jugadores1.add(jugador2);
				jugadores1.add(jugador3);
				jugadores1.add(jugador4);
				jugadores1.add(jugador5);
				jugadores1.add(jugador6);
				
				final Set<Jugador> jugadores2 = new HashSet<Jugador>();
				jugadores2.add(jugador7);
				jugadores2.add(jugador8);
				jugadores2.add(jugador9);
				jugadores2.add(jugador10);
				jugadores2.add(jugador11);
				jugadores2.add(jugador12);

				final Equipo equipo1 = new Equipo("funcionales", tecnico1,
						jugadores1);
				final Equipo equipo2 = new Equipo("objetos", tecnico2,
						jugadores2);

				Home<Equipo> homeEquipo = new Home<Equipo>(Equipo.class);
				homeEquipo.insertar(equipo1);
				homeEquipo.insertar(equipo2);

			}
		}.ejecutar();
	}
}
